The present invention relates generally to non-volatile memory devices and in particular the present invention relates to a method of masking input data in synchronous non-volatile flash memory.
Memory devices are typically provided as internal storage areas in the computer. The term memory identifies data storage that comes in the form of integrated circuit chips. There are several different types of memory, including random access memory (RAM). This is typically used as main memory in a computer environment. Most RAM is volatile, which means that it requires a steady flow of electricity to maintain its contents. As soon as the power is turned off, whatever data was in RAM is lost.
Computers can contain a small amount of read-only memory (ROM) that holds instructions for starting up the computer. An EEPROM (electrically erasable programmable read-only memory) is a special type of non-volatile ROM that can be erased by exposing it to an electrical charge. Like other types of ROM, EEPROM is traditionally not as fast as RAM. EEPROM comprise a large number of memory cells having electrically isolated gates (floating gates). Data is stored in the memory cells in the form of charge on the floating gates. Charge is transported to or removed from the floating gates by programming and erase operations, respectively.
Yet another type of non-volatile memory is a flash memory. A flash memory is a type of EEPROM that can be erased and reprogrammed in blocks instead of one byte at a time. Many modern computers have their basic I/O system bios stored (BIOS) on a flash memory chip so that it can easily be updated if necessary. Such a BIOS is sometimes called a flash BIOS. Flash memory is also popular in modems because it enables the modem manufacturer to support new protocols as they become standardized.
A typical flash memory comprises a memory array that includes a large number of memory cells arranged in row and column fashion. Each of the memory cells includes a floating gate field-effect transistor capable of holding a charge. The cells are usually grouped into erasable blocks. Each of the memory cells can be electrically programmed in a random basis by charging its floating gate. The charge can be removed from the floating gate using a block erase operation. The data in a cell is determined by the presence or absence of the charge in the floating gate.
A synchronous DRAM (SDRAM) is a type of DRAM that can run at much higher clock speeds than conventional DRAM memory. SDRAM synchronizes itself with a CPU""s bus and is capable of running at 100 MHZ, about three times faster than conventional FPM (Fast Page Mode) RAM, and about twice as fast EDO (Extended Data Output) DRAM and BEDO (Burst Extended Data Output) DRAM. A SDRAM can be accessed quickly, but is volatile.
A SDRAM, as well as other conventional memory, is designed to selectively mask data. That is, a SDRAM can selectively screen out or let through certain bits in a data value. This masking ability allows the SDRAM to process data efficiently. For example, data, which does not need to be reloaded, can be masked when data is written. Moreover, data, which does not need to be outputted to an external device, is masked when the data is read. Having the masking ability, allows the SDRAM to eliminate time spent writing and reading data that is not needed. Like the SDRAM, a Flash memory that had the ability to efficiently mask data would enhance the performance of a Flash memory device.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a flash memory that has the ability to efficiently mask data.
The above-mentioned problems with memory devices and other problems are addressed by the present invention and will be understood by reading and studying the following specification.
In one embodiment, the present invention provides a flash memory device having a data mask connection to receive a mask signal. The mask signal forces at least a portion of input data having a programmed state to an erased state.
In another embodiment, a flash memory devise comprises a data connection, a data mask connection, and a mask logic circuit. The data connection is used to receive an input data signal. The data mask connection receives a mask signal used to selectively mask the input data signal. The mask logic circuit is coupled to provide an output data signal in response to the input data signal and the mask signal. The output data signal of the mask logic circuit provides data in a logic 1 state in response to the input data signal having a logic 1 state or the assertion of the mask signal.
In another embodiment, a flash memory device comprises a DQ connection to receive input data, a DQMASK connection to receive an active high mask signal, and a mask logic circuit having a first input coupled to the DQ connection and a second input coupled to the DQMASK connection. The mask logic circuit outputs data having an erased state in response to input data having an erased state or an assertion of the mask signal.
In another embodiment, a flash memory device comprises a memory array having a plurality of memory cells, control circuitry, a DQ connection, and a DQMASK connection. The control circuitry is used to control write operations to the memory cells. Moreover, the control circuitry writes only logic 0 data to the memory array. The DQ connection is used to receive input data. The DQMASK connection is used to receive an active high mask signal. The mask logic circuit has a first input coupled to the DQ connection and a second input coupled to the DQMASK connection. The mask logic circuit outputs logic 1 data in response to input data having a logic 1 data or an assertion of the mask signal.
In another embodiment, a flash memory system comprises a processor, a flash memory, a DQ connection, a DQMASK connection, a mask logic circuit, and control circuitry. The processor provides input data. The flash memory stores the input data from the processor. The flash memory comprises memory cells arranged in columns and rows. The DQ connection is coupled to receive the input data and the DQMASK connection is used to receive a mask signal used to selectively mask the input data. A mask logic circuit is coupled to provide output data in response to the input data and the mask signal. The output data of the mask logic circuit has a logic 1 state in response to the mask signal. The control circuitry performs a write operation to store the output data in the memory cells. Moreover, the control circuitry does not write data having a logic 1 state to the memory cells.
In another embodiment, a flash memory system comprises a processor, a flash memory array, a DQ connection, a DQMASK connection, and control circuitry. The processor to provides input data. The flash memory array stores the input data in memory cells arranged in columns and rows. The DQ connection is used to receive the input data. The DQMASK connection receives a mask signal used to selectively mask at least a portion of the input data having a programmed state to an erased state. The control circuitry performs a write operation to the memory cells of the flash memory array. Moreover, the control circuitry does not write data having an erased state to the memory cells.
In another embodiment, a flash memory device comprises a DQ connection, a data input latch, a DQMASK connection, and a mask logic circuit. The DQ connection is used to receive an input data signal. The data input latch has an input coupled to the DQ connection. The DQMASK connection is used receive a mask signal. The mask logic circuit has a first input coupled to an output of the data input latch and a second input coupled to the DQMASK connection. The mask logic circuit outputs data in a logic 1 state in response to the first input of the mask logic circuit receiving data in a logic 1 state or the assertion of the mask signal.
In another embodiment, a flash memory device comprises a data connection, a data mask connection, a mask logic circuit and a data input latch. The data connection is used to receive input data. The data mask connection receives a mask signal that is used to selectively mask at least a portion of the input data having a programmed state to an erased state. The mask logic circuit has a first input coupled to the data connection and a second input coupled to the data mask connection. The mask logic circuit outputs data in an erased state in response to input data in an erased state or the assertion of the mask signal. The data input latch is coupled to receive the output data from the mask logic circuit.
A method of operating a flash memory comprises receiving input data to be stored in a memory array and masking select bits of the input data by forcing the select bits to an erased state.
Another method of operating a flash memory comprises performing a write operation to a flash memory array and masking a selected portion of input data by changing the selected portion to a logic 1 state data.
Another method of operating a flash memory comprises receiving a data signal on a DQ connection to be stored in a memory array, receiving a mask signal on a DQMASK connection to selectively mask the data signal, masking the data signal by forcing the data signal to an erased state and storing only input data having a programmed state in the memory array.
Another method of operating a flash memory comprises, executing a write operation, masking data to be written to a memory array by forcing a selected portion of the data to an erased state, storing data having a programmed state in the memory array and ignoring data in an erased state.
Another method of operating a flash memory comprising, erasing a block of memory cells in a memory array, performing a write operation to the block of memory cells, masking a selected portion of input data by forcing data having a programmed state in the selected portion to data having an erased state and storing data having a programmed state in the block of memory cells.